<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Jigloo GUI Builder Guide</title>
  
  <link rel="STYLESHEET" href="book.css" type="text/css">
  <meta name="author" content="Cloudgarden.com"></head><body bgcolor="white">
<h1 style="font-family: arial;">Jigloo GUI Builder User's Guide<br>
</h1>
<h3 style="font-family: arial;">Introduction</h3>
<span style="font-family: arial;">Cloudgarden's Jigloo GUI Builder is
an Eclipse plugin which allows you
to build
and manage GUIs using both Sun's Swing and Eclipse's SWT toolkits.<br>
<br>
<b>It is free for non-commercial use, but a Professional license must
be purchased for commercial use - please visit the <a href="http://www.cloudgarden.com/jigloo" target="_blank">www.cloudgarden.com</a>
website.<br style="font-family: arial;">
</b></span>
<p style="font-family: arial;">It creates and manages code to create
all the parts of the GUI as well
as
handle events, and shows you the GUIs as
they are being built, allowing you to experiment with the more complex
features of the Swing GridBagLayout or SWT's FormLayout, for instance.
It also offers very advanced and powerful code-handling features -
fine-grained control over code-generation and parsing, as well as
visual inheritance and custom controls.<br>

</p>
<p style="font-family: arial;">It can lead to a very large time-saving (over
hand-coding) for GUI
development and maintainance tasks, and because the Jigloo GUI builder
is integrated with the
Eclipse IDE the invaluable code-management features of Eclipse are
immediately available to further modify the code generated by Jigloo.<br>
</p>
<p style="font-family: arial;">It can manage java classes created
previously by hand, or using an IDE such as JBuilder, Netbeans etc. It
is able to handle most common ways of constructing GUI code,
though it is not able to handle certain exceptional cases - but these
limitations are described in the documentation.<br>
</p>
<p style="font-family: arial;">It supports visual inheritance - Jigloo
can be used to build classes which are extensions of other visual
classes (an example might be a generic ShopFrame which extends
JFrame and has generic labels and containers designed to be customized,
and a FlowerShop class which extends ShopFrame and customizes the
inherited generic components). Jigloo can be used to design classes
which extend any type of visual class - though abstract or non-public
classes require a small modification to the code.<br>

</p>

<p style="font-family: arial;">In detail, the Jigloo GUI builder offers the
following features:<br>
</p>
<span style="font-family: arial;"></span>
<p style="font-family: arial;"><b>Basic:</b> </p>
<ul style="font-family: arial;">
  <li><font face="Arial" size="-1">Builds complete Java
classes for GUIs in
SWT or Swing with an easy-to-use WYSIWYG editor.</font></li><li><font face="Arial" size="-1"><b>Two-way
(or round-trip) java code editing</b> - changes made in the Form Editor are reflected in
the code, and changes made to the code are also reflected in the Form
Editor.</font></li><li><font face="Arial" size="-1"><b>Can recognize and manipulate code generated by hand or by IDE</b> (eg, Netbeans, JBuilder, VEP etc).</font></li>
  <li><font face="Arial" size="-1"><b>Supports visual ineritance</b> - can be used to edit classes which extend other custom visual classes.<br>
</font></li>


  <li><font face="Arial" size="-1"><b>Palette </b>for adding
components and
setting layouts.</font></li><li><font face="Arial" size="-1"><b>Easy navigation
between source and form editors</b>, with the selection in
the form editor following the location of the cursor in the source
editor, and the source editor scrolling to the code relevant to the selected element in the form editor.<br>
</font></li>

  <li><font size="-1"><font face="Arial"><b>Multi-selection</b> of
components - for setting
of properties, layout parameters, and copy/cut/paste/delete.</font></font></li>
  <li><font face="Arial" size="-1">Context-menu options for adding
components and setting layouts (use of palette and/or context menu
controlled by preferences page).<br>
    </font></li>
  <li><font face="Arial" size="-1">Manipulates most
properties of the GUI
components, such as <b>colors,
fonts, images, sizes, borders</b> etc,</font></li>
  <li><font face="Arial" size="-1"><b>Creates event handlers</b>
for any
and all of the component's events.</font></li>
  <li><font size="-1"><font face="Arial">When creating components, <b>initial
text,
image and layout properties can be quickly set</b> using a single
creation
dialog.</font></font></li>
  <li><font face="Arial" size="-1">Basic
editing commands, <b>copy/cut/paste/delete</b>, as
well as "Move up/down", to rearrange components.</font></li>
  <li><font size="-1"><font face="Arial"><b>Infinite Undo/Redo</b>
capability for all actions (setting of properties, layouts, layout
constraints, cut, paste, add, delete and move).</font></font></li>
  <li><font face="Arial" size="-1">The GUI editor and Outline view can
be used to <b>drag/copy-and-drop</b> components inside and between
containers.</font></li>
  <li><font face="Arial" size="-1">Java
code and GUI form viewed in single editor - either a split-pane
(horizontal or vertical) or tabbed-pane layout is selectable.</font></li><li><font face="Arial" size="-1">Generates stub models for certain elements (eg, JTable, JSpinner, JList etc), and can parse models from code.</font></li>

</ul><font face="Arial" size="-1"><br><b>
Code Handling:</b><br>
<br>
</font>
<ul>
  <li><font face="Helvetica, Arial, sans-serif">There are many ways to customize the parsing of the Java code. <br>
    </font></li>
  <ul>
    <li><font face="Helvetica, Arial, sans-serif">Blocks of code which are not directly involved in building the GUI can be hidden from Jigloo by user-customizable comment tags.</font></li>
    <li><font face="Helvetica, Arial, sans-serif">The classes which Jigloo will instantiate while parsing the code can be controlled on a fine-grain level.</font></li>
  </ul>
  <li><font face="Helvetica, Arial, sans-serif">The code generated by Jigloo can also be customized:</font></li>
  <ul>
    <li><font face="Helvetica, Arial, sans-serif">It can follow
the&nbsp; convention of the existing code (eg, JBuilder code uses
getter methods to initialize it's components, and Jigloo can detect and
use this format).</font></li>
    <li><font face="Helvetica, Arial, sans-serif">It can  separate elements with braces, blank lines, or user-defined comments.<br>
      </font></li>
  </ul>
</ul>
<br>

<font face="Arial" size="-1"><b>Layout:</b><br>
<br>
</font>
<ul style="font-family: arial;">
  <li><font face="Arial" size="-1"><b>Handles all Swing and
SWT layouts</b>
(including GridBag, Form and
absolute layouts).</font></li>
  <li><font face="Arial" size="-1"><b>Delphi/Visual Studio
layout-manager
mode</b> for SWT FormLayout (and Swing AnchorLayout).</font></li>
  <li><font face="Arial" size="-1">Intuitive (mouse-dragging) method
for changing the grid properties of Swing GridBagLayouts.<br>
    </font></li>
  <li><font face="Arial" size="-1"><b>Snap grid</b> allows components
to be
located and resized to a uniform 5 to 20 pixel grid.<br>
    </font></li>
  <li><font face="Arial" size="-1">Components can be
drag-and-dropped
(and copy-and-dropped) between containers, re-ordered and
resized by mouse-dragging.</font></li>
</ul>
<font face="Arial" size="-1"><b>Advanced:</b><br>
<br>
</font>
<ul style="font-family: arial;">
  <li><b>Visual Inheritance</b> is supported - Jigloo can be used to build classes which are extensions of other visual classes.<br>
</li><li><font face="Arial" size="-1"><b>Custom classes</b> extending
Component
(Swing) or Control (SWT) can be added to the GUI.</font></li>

  <li><font face="Arial" size="-1"><b>Non-visual classes</b> can also
be added to the GUI, and their properties edited with the property
editor.<br>
    </font></li>
  <li><font face="Arial" size="-1"><b>The class of a GUI element can be
changed</b> (eg, changing a Composite to a Group, or to a custom class)
with a context-menu option.</font></li>
  <li><font face="Arial" size="-1">Parts of a GUI class can be extracted and
saved as a new class.<br>
    </font></li>
  
  <li><font size="-1"><font face="Arial">Easy
access
to the <b>Javadoc </b>for
Swing and SWT components and
layouts</font></font></li>
  <li><font size="-1"><font face="Arial">Ability to <b>preview </b>or
    <b>run </b>the generated java
code from a toolbar button.<br>
    </font></font></li>
  <li><font size="-1"><font face="Arial"><b>Converts </b>between
Swing and SWT GUIs (both ways).</font></font></li>
</ul>
<font size="-1"><font face="Arial"><br>
</font></font><br>
<span style="font-family: arial;"></span>
</body></html>